package com.ai.module.user.service;

import com.ai.module.user.domain.entity.UserMangeEntity;
import com.ai.module.user.domain.req.UserConfigReq;
import com.ai.module.user.domain.req.UserLogin;
import com.ai.module.user.domain.req.WXUserInfo;
import com.ai.module.user.domain.vo.UserLoginInfo;
import com.ai.module.user.enu.VipType;
import com.ai.common.BaseResp;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserMangeService extends IService<UserMangeEntity> {

    UserLoginInfo login(UserLogin userLogin);

    UserLoginInfo register(UserLogin userLogin);

    UserLoginInfo userInfo();


    void updateUser(UserConfigReq userConfigReq);

    void loginOut();

    void activateMembership(VipType vipType);

    UserLoginInfo loginByWx(String phone, String code, JSONObject tokenJson);

    UserLoginInfo wxUserInfo(WXUserInfo userInfo);

    BaseResp sendMessage(UserLogin userInfo);

}
